The SAE J2716 SENT protocol is a point-to-point scheme for transmitting signal values, for example from a sensor to a controller. It requires three wires, wherein one wire is used as a signal line and the other two for a supply voltage and ground and provides for an asynchronous one-way voltage interface. It allows for high resolution data transmission with a lower system cost than available serial data solutions.
Data is transmitted in nibbles, wherein a nibble is defined as 4 bits. A SENT protocol message encodes data values in the falling edge to falling edge period of the signal. The message is preceded for synchronization/calibration by a fixed length period which provides a 56 unit time (also known as “ticks”) reference. Data values are encoded into nibbles using 12 to 27 unit times. The nibble period detector in a SENT receiver must use a relatively fast clock source to accurately decode the nibble time values.
In particular, according to the SAE J2716 specification, a SENT communication fundamental unit of time (or tick) can be in the range of 3 μs to 10 μs, wherein the maximum allowed clock variation is ±20% from the nominal unit time. On a receiver side, a nibble must be detected asynchronously. To this end, as mentioned above, the protocol provides for a synchronization/calibration pulse which is defined to be 56 unit times long. The pulse starts with a falling edge and remains low for 5 or more unit times followed by pulse that fills the remainder of the 56 unit times (UT). Thus, a receiver can easily determine the respective unit time after receiving such a synchronization/calibration pulse. The length of each data nibble is determined by a fixed start pulse (12 UT) followed by a data pulse whose length is defined by its actual value. As each nibble can have a value between 0 and 15, the variable time portion defined by the nibble value N has a length of N*UT. Thus, the receiver must synchronize with the transmitter and determine the length of the respective data pulses to decode the value of each nibble. Hence, a relatively high clock signal would be required in a receiver to accurately decode the SENT protocol.
The traditional approach to this decode such a signal would be to use a CPU clock that is fast enough to provide sufficient measurement accuracy of the synchronization period. Since many microcontrollers commonly utilize an on-chip clock source having less than the required frequency, there is a need for a solution that can operate with a lower internal clock speed. It is, therefore, desirable to use a lower frequency oscillator both to reduce power consumption and to use available resources on the MCU.